1. Field of the Invention
The invention relates to a system and method for permitting a plurality of software applications to share a plurality of software modules. The invention has particular benefit when one or more of the software applications uses a communications protocol that differs from the communications protocol employed by one or more of the software modules.
2. Description of the Related Art
The invention is discussed below in connection with shipping services. However, it is to be understood that the invention in its broadest sense is not so limited. The invention may be used whenever software applications need to share software modules.
For a web/ship application, there are certain core components or e-commerce features that may be needed, depending on the application, for customers to ship parcels without having to leave their homes or offices. For example, since government regulations require shippers to maintain basic information for purposes of crime prevention, web shipping applications typically require some form of customer registration. In addition, web shipping applications typically require customers to enter data about packages being shipped so that a shipping record may be completed and so that a shipping label may be transmitted electronically to customers. Parcel-specific data typically includes the recipient's address and the weight of the parcel. For international shipping, additional information may be collected including information on the contents of the parcel.
Web shipping applications usually also provide customers with the ability to pay online, and may also provide customers with the ability to request home or office pickup.
Often, companies write software applications without regard to other applications that have already been written. So, for example, a company that offers a menu of shipping services, might, over a period of time, write separate software for each shipping application. In these circumstances, each of a company's multiple applications may have a different look and feel, with multiple entities administering each application and, in doing so, duplicating efforts. For economy purposes, and for purposes of presenting a unified look and feel to customers, rather than rewriting each software application, it may be beneficial to allow software applications with overlapping requirements to share software “modules”. So, for example, to save the cost of writing and administering a registration component for each new application, all applications could share a single software registration module administered by a single entity. In this way, customers accessing each application will be presented with uniform look and feel registration package, and any changes made will be reflected in all applications.
Complicating matters, however, is that software applications are often written in differing programming languages, and employ differing communications protocols. This can make it difficult for multiple applications to share the same software modules.
To remedy this complication, the invention includes a hub that may serve as a translational intermediary between software applications and software modules to be shared by the applications. The hub may be configured to recognize the communications protocols of the plurality of software modules and software applications, and to translate one protocol to another. Thus, regardless of the communications protocol of an application, the application may be able to communicate with and thereby share a software module that “speaks a different language.”